package temp
//
//import (
//	"errors"
//	"fmt"
//	"gitee.com/wengo/go-mamba"
//	"github.com/PuerkitoBio/goquery"
//	tls "gitlab.com/yawning/utls.git"
//	"strings"
//	"time"
//)
//
//type HttpClient struct {
//	client *mamba.Client
//}
//
//type Methods string
//
//const (
//	POST      Methods = "post"
//	GET       Methods = "get"
//)
//
//func (h *HttpClient) Init() {
//	h.client = mamba.New()
//	h.client.SetDebug(false)
//	h.client.SetDebugBodyLimit(0)
//	h.client.SetHeaders(map[string]string{
//		//"User-Agent": utils.GetRandomUa(),
//		"Accept": 			"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
//		//"Accept-Encoding":  {"gzip, deflate, br"},
//		"Accept-Language":  "en-US,en;q=0.5",
//		"Connection": "keep-alive",
//		"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36",
//		//"TE":"Trailers",
//		"Accept-Encoding":"gzip, deflate, br",
//		"upgrade-insecure-requests":"1",
//		//"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
//	})
//
//	h.client.SetRetryCount(10)
//	h.client.SetRetryWaitTime(3 * time.Second)
//	h.client.SetTLSClientConfig(&tls.Config{
//		CipherSuites: []uint16 {
//			tls.TLS_AES_128_GCM_SHA256,
//			tls.TLS_AES_256_GCM_SHA384,
//			tls.TLS_CHACHA20_POLY1305_SHA256,
//			tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
//			tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
//			tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
//			tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
//			//tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
//			//tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
//			tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
//			tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
//			tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
//			tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
//			tls.TLS_RSA_WITH_AES_128_CBC_SHA,
//			tls.TLS_RSA_WITH_AES_256_CBC_SHA,
//		},
//
//		MinVersion: tls.VersionTLS12,
//		MaxVersion: tls.VersionTLS13,
//	})
//
//}
//
//func (h *HttpClient) parseResponse(resp *mamba.Response, err error) (*mamba.Response, *goquery.Document, error) {
//	if err != nil {
//		return nil, nil, err
//	}
//
//	if strings.Contains(resp.String(), "opfcaptcha") {
//		fmt.Print("robots")
//		return nil, nil, errors.New("robots")
//	}
//
//	doc, err := goquery.NewDocumentFromReader(strings.NewReader(resp.String()))
//	if err != nil {
//		return nil, nil, err
//	}
//
//	return resp, doc, err
//}
//
//func (h *HttpClient) request(method Methods, url string, header, data, query map[string]string) (*mamba.Response, *goquery.Document, error) {
//
//	req := h.client.R()
//
//	if header != nil {
//		req.SetHeaders(header)
//	}
//
//	if data != nil {
//		req.SetFormData(data)
//	}
//
//	if query != nil {
//		req.SetQueryParams(query)
//	}
//
//	var resp *mamba.Response
//	var err error
//	switch method {
//	case POST:
//		resp, err = req.Post(url)
//	case GET:
//		resp, err = req.Get(url)
//	}
//
//	return h.parseResponse(resp, err)
//}
//
